package com.ag.oa.core.entity.dto;

import java.io.Serializable;

/**
 * 聊天消息
 */
public class WebSocketMsgDTO implements Serializable {

    private static final long serialVersionUID = -8860699589858734807L;

    /**
     * 消息唯一id
     *
     * 后端生成
     */
    private String chatId;

    /**
     * 虚拟房间号（一对一聊天 与 多人群聊，都可用）
     *
     * 建立群聊的时候生成，后端生成
     *
     * 如何设计 redis读取 与 修改 都比较方便？（无序、房间消息下标0开始）
     */
    private String roomId;

    /**
     * 发送日期
     *
     * 后端生成
     */
    private String chatDate;

    /**
     * 发送时间
     *
     * 后端生成
     */
    private String sendTime;

    /**
     * 页面展示发送时间格式
     */
    private String showSendTime;

    /**
     * 消息发送者 id
     *
     * 【 前端提供 】
     */
    private Integer sendId;

    /**
     * 消息发送者名称
     *
     * 【 前端提供 】
     */
    private String sendUsername;

    /**
     * 发送者-用户头像路径
     *
     * 【 前端提供 】
     */
    private String sendUserAvatarPath;

    /**
     * 消息类型： 1: 单聊  2:房间群聊  3:世界频道群聊
     */
    private String messageType;

    /**
     * 消息内容
     *
     * 【 前端提供 】
     */
    private String message;

    /**
     * 消息接受者 id
     *
     * 【 前端提供 】
     */
    private Integer receiveId;

    /**
     * 是否已读, 0: 未读, 1: 已读
     *
     * 【 前端提供 】默认未读
     */
    private Integer readStatus;

    /**
     * 读取时间
     *
     * 后端生成
     */
    private String readTime;


    public String getChatId() {
        return chatId;
    }

    public void setChatId(String chatId) {
        this.chatId = chatId;
    }

    public String getRoomId() {
        return roomId;
    }

    public void setRoomId(String roomId) {
        this.roomId = roomId;
    }

    public String getChatDate() {
        return chatDate;
    }

    public void setChatDate(String chatDate) {
        this.chatDate = chatDate;
    }

    public String getSendTime() {
        return sendTime;
    }

    public void setSendTime(String sendTime) {
        this.sendTime = sendTime;
    }

    public String getShowSendTime() {
        return showSendTime;
    }

    public void setShowSendTime(String showSendTime) {
        this.showSendTime = showSendTime;
    }

    public Integer getSendId() {
        return sendId;
    }

    public void setSendId(Integer sendId) {
        this.sendId = sendId;
    }

    public String getSendUsername() {
        return sendUsername;
    }

    public void setSendUsername(String sendUsername) {
        this.sendUsername = sendUsername;
    }

    public String getSendUserAvatarPath() {
        return sendUserAvatarPath;
    }

    public void setSendUserAvatarPath(String sendUserAvatarPath) {
        this.sendUserAvatarPath = sendUserAvatarPath;
    }

    public String getMessageType() {
        return messageType;
    }

    public void setMessageType(String messageType) {
        this.messageType = messageType;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Integer getReceiveId() {
        return receiveId;
    }

    public void setReceiveId(Integer receiveId) {
        this.receiveId = receiveId;
    }

    public Integer getReadStatus() {
        return readStatus;
    }

    public void setReadStatus(Integer readStatus) {
        this.readStatus = readStatus;
    }

    public String getReadTime() {
        return readTime;
    }

    public void setReadTime(String readTime) {
        this.readTime = readTime;
    }
}
